/**
	Checkbox form element.
	
	Simple checkbox, frame one is off frame 2 is on.

	@author Chandler McWilliams
	@version 2005-07-06
*/
class timber.ui.control.Checkbox extends timber.ui.control.FormElement
{
	private var state;
	private var value;
	private var name;
	
// ===========================================================
// - CONSTRUCTOR
// ===========================================================
	public function Checkbox() {
		state = false;
		name = this._name;
		stop();
	}
	
// ===========================================================
// - BUTTON ACTIONS
// ===========================================================
	public function onRelease() {
		toggle();		
	}

// ===========================================================
// - ACCESORS
// ===========================================================
	public function isEnabled() { return state; }
	public function getName() { return name; }

	public function setValue(val) { value = val; }
	public function getValue() {
		if (state) {
			// if value is set, use that, otherwise use the name
			return value?value:name;
		}
		return false;
	}

// ===========================================================
// - ACTIONS
// ===========================================================
	public function check() { this.gotoAndStop(2); state = true; }
	public function uncheck() { this.gotoAndStop(1); state = false;  }
	public function toggle() {
		state?uncheck():check();
	}

}